<?php


class Adquisicion {
    
    static $__colAdquisiciones = null;
    
    public function __construct($id, $nombre, $detalle) {
        $this->id = $id;
        $this->nombre = $nombre;
        $this->detalle = $detalle;
    }
    
    public function ToArray() {
        return array (
            'adquisiciones_id' => $this->id,
            'adquisiciones_nombre' => $this->nombre,
            'adquisiciones_detalles' => $this->detalle,
        );
    }
    
    public static function GetInstancia($id) {
        if (Adquisicion::$__colAdquisiciones == null) {
            Adquisicion::$__colAdquisiciones = array();
        }
        if (array_key_exists($id, Adquisicion::$__colAdquisiciones)) {
            return Adquisicion::$__colAdquisiciones[$id];
        } else {
            $Mod_A = new Model_Adquisicion();
            $data = $Mod_A->GetAdquisicionById($id);
            if (count($data) > 0) {
                $row = $data[0];
                $obj_A = new Adquisicion(
                    $row['adquisiciones_id'],
                    $row['adquisiciones_nombre'],
                    $row['adquisiciones_detalles']
                );
                Adquisicion::$__colAdquisiciones[$obj_A->id] = $obj_A;
                return Adquisicion::$__colAdquisiciones[$obj_A->id];
            } else {
                return null;
            }
        }
    }
    
    public static function GetAdquisiciones($like = null) {
        Adquisicion::$__colAdquisiciones = array();
                
        $Mod_A = new Model_Adquisicion();
        $data = $Mod_A->GetAdquisiciones($like);
        
        foreach ($data as $row) {
            $obj_A = new Adquisicion(
                $row['adquisiciones_id'],
                $row['adquisiciones_nombre'],
                $row['adquisiciones_detalles']
            );
            Adquisicion::$__colAdquisiciones[$obj_A->id] = $obj_A;
        }
        return Adquisicion::$__colAdquisiciones;
    }

    public function Guardame() {
        $Mod_A = new Model_Adquisicion();
        return $Mod_A->Guardar($this);
    }
    
    public function Modificame($adquisicionId) {
        $Mod_A = new Model_Adquisicion();
        return $Mod_A->Modificar($adquisicionId, $this);
    }
}

?>
